Stepper motor drivers ordinarily provide a step clock of a fixed frequency to activate circuitry in the driver electronics to sample and apply current to the windings or "phases" of the associated stepper motor. The amount of current to be applied is a direct function of the desired position of the motor shaft. For rotational motion, current is applied to opposing windings in a stepper motor in a quadrature manner. In a micro-stepping motor, phase currents are applied as a Sine wave to one phase and a Cosine wave to the opposing phase with motor position defined at discrete points along the Sine and Cosine waveforms. Data for the full Sine and Cosine waveforms are typically stored in local memory. Each pulse from an associated step clock, advances the motor to the next position, following the Sine and Cosine drive steps. For smooth motor rotation, the step clock is continuously applied at a fast rate, causing the motor to repetitively move through the micro-stepping sequence. To hold the motor at a fixed position, the motor driver must apply a constant current to each winding having a magnitude represented by the value of the Sine and Cosine waveform at the desired position. To monitor the position of the motor, the number of steps applied to the motor are counted within a control microprocessor.
To conserve energy, stepper motor drivers periodically apply and remove current to the motor windings since the constant application of current would otherwise result in excessive power consumption. Since the applied current decays with time after removal, positional phase current is periodically applied to each winding to hold the motor at a predetermined position. This is usually accomplished by switching a high voltage across each winding and allowing the current to increase until the motor reaches the predetermined value before rapidly switching off the voltage.
When applying operating current to a motor winding on the rising waveform edge, a high voltage is applied across the winding until the phase current in the winding reaches a predetermined reference value. On the falling edge of the current waveform, the current must be removed from the winding in order to replicate the Sine or Cosine waveform in the downward direction. This is usually accomplished using either a so-called "fast" or "slow" decay method. In the "fast" decay approach, the winding is connected to ground through a diode bridge. In the "slow" decay approach the low side of the winding is slightly below ground and the high side of the winding is slightly above ground resulting in a low voltage drop across the winding with reduced energy dissipation.
U.S. Pat. No. 4,297,625 describes the use of integrated circuit counters connected to operate in an incremental or decremental mode to sequentially access data words in a Sine memory and a Cosine memory.
U.S. patent application (IMS-1) entitled "Stepper Motor Driver Circuit" filed Mar. 10, 1992, describes a motor driver circuit that samples the current to each of the two windings in a two-phase stepper motor and alternately applies current to the windings in accordance with the alternate phases of the driver circuit clock to eliminate cross-interference between the windings. By selectively controlling the current to the two windings the rotational position of the motor is accurately controlled. The falling phase current in one winding, for example, is precisely regulated by determining the time constant from the rising phase current in the other winding. The motor driver circuit monitors and controls the phase currents within each winding to effectively reduce adverse motor resonance effects.
One purpose of this invention is to provide a stepper motor driver circuit that includes means for accurately reconstructuring the Sine wave current applied to one winding and the Cosine wave current applied to the other winding without requiring a sizable memory to store the Sine and Cosine data words. Another purpose of the invention is to provide a circuit that provides motor location rather than counting microsteps to monitor motor position.